package com.mck.utils;

import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;

/**
 * @version 1.0.0
 * @Author mck
 * @Date 2025/4/23 下午3:04
 * @注释
 */


public class NullRemover {

    public static Map<String, Object> removeNull(Object obj) throws IllegalAccessException {

        Map<String, Object> result = new HashMap<>();
        Field[] fields = obj.getClass().getDeclaredFields(); // 获取对象的所有属性

        for (Field field : fields) {
            field.setAccessible(true); // 设置属性可访问

            // // 去除userId属性
            // if ("userId".equals(field.getName())) {
            //     continue;
            // }

            Object value = field.get(obj); // 获取属性的值
            if (value != null) {

                // 对密码字段进行脱敏
                if ("password".equals(field.getName())) {
                    result.put(field.getName(), "***");
                } else {
                    result.put(field.getName(), value);
                }
            }
        }

        return result;
    }
}
